package com.shop.cereshop.commons.domain.task;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 积分任务实体类
 */
@Data
@ApiModel(description = "积分任务实体类")
@TableName("cere_agent_task")
public class CereAgentTask {

  /**
   * 任务ID
   */
  @ApiModelProperty(value = "任务ID")
  @TableId(type = IdType.AUTO)
  private Long taskId;

  /**
   * 任务名称（如：观看广告30s）
   */
  @ApiModelProperty(value = "任务名称")
  private String taskName;

  /**
   * 任务类型：1-基础任务，2-每日任务
   */
  @ApiModelProperty(value = "任务类型：1-基础任务，2-每日任务")
  private Integer taskType;

  /**
   * 任务奖励积分
   */
  @ApiModelProperty(value = "任务奖励积分")
  private Integer pointsReward;

  /**
   * 任务要求完成的次数(0代表没有次数要求)
   */
  @ApiModelProperty(value = "任务要求完成的次数(0代表没有次数要求)")
  private Integer totalLimit;

  /**
   * 任务描述（如：每日观看3次广告可获得积分）
   */
  @ApiModelProperty(value = "任务描述")
  private String taskDesc;

  /**
   * 是否启用：1-启用，0-禁用
   */
  @ApiModelProperty(value = "是否启用：1-启用，0-禁用")
  private Integer isEnabled;

  /**
   * 创建时间
   */
  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 更新时间
   */
  @ApiModelProperty(value = "更新时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime updateTime;
}